package com.yida.gwj.config.domain.request;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.gwj.api.domain.GwjConfFlowStep;

/**
 * 业务流程对象 common_flow
 *
 * @author lqq
 * @date 2022-12-13
 */
public class GwjConfFlowRequest implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 流程ID
     */
    private Long flowId;

    /**
     * 名称
     */
    private String name;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 流程状态（0正常 1停用）
     */
    private String status;

    /**
     * 要绑定的步骤ID集合
     */
    private List<GwjConfFlowStep> gcflowSteps;

    public List<GwjConfFlowStep> getGcflowSteps() {
        return gcflowSteps;
    }

    public void setGcflowSteps(List<GwjConfFlowStep> gcflowSteps) {
        this.gcflowSteps = gcflowSteps;
    }

    public void setFlowId(Long flowId) {
        this.flowId = flowId;
    }

    public Long getFlowId() {
        return flowId;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("flowId", getFlowId())
            .append("name", getName()).append("createBy", getCreateBy()).append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("remark", getRemark())
            .append("status", getStatus()).toString();
    }
}
